1. Field of the Invention
This invention relates to methods and systems for providing constraint-based guidance to a designer in a collaborative design environment.
2. Background Art
Complex engineering designs, including hardware and software systems, are subject to ever-tighter time-to-market constraints and thus involve ever-larger teams, where multiple subsystems are developed in parallel by different subteams. Unfortunately, this concurrent design results in conflicts or constraint violations among multiple designers being detected late in the design process. Fixing these conflicts requires very expensive rework. If one views the design as a set of variables related by a group of constraints, then these conflicts can be seen as constraint violations. Expensive rework can then be substantially reduced by aiding designers in considering the simultaneous effect of all constraints. For this aid to be most useful, though, it must give designers direct clues to improve the team's design space search process.
Design can be viewed as a search process in a design space restricted by constraints. Constraint-based search heuristics can substantially improve search algorithms and thus may significantly accelerate design convergence.
While heuristics are often used by designers and CAD tools to search for design solutions, design environment work has not focused on providing the constraint-based guidance described above.
For example, K. O. ten Bosch et al., “Design Flow Management in the Nelsis CAD Framework”, PROC. DAC, June 1991 presents a flow management system which provides support to manage a design process, but does not provide constraint-based support. As a result, late constraint violations can easily happen that require very costly rework.
J. A. Carballo and S. Director, “Constraint Management for Collaborative Electronic Design”, PROC. DAC, Las Vegas, Nev., USA, June 1999 describes software techniques utilized in CCM. (CCM is a software methodology for managing constraints that leverages existing constraint-based systems and CAD tools.)
P. Sutton and S. Director, “Framework Encapsulations, A New Approach to CAD Tool Interoperability”, PROC. 35TH DAC, June 1998 describes a conventional design process management system which provides feedback about the status of the design process at all times, but does not provide constraint-based heuristic support. As a result, more design operations are required with this system to complete complex designs.
V. Kumar, “Algorithms for Constraint-Satisfaction Problems: A Survey”, AI MAGAZINE, 1992; and J. Bitner and E. Reingold, “Backtrack Programming Techniques”, COMMUNICATIONS OF THE ACM, Vol. 18, Issue 11, November 1975 show that constraint-based heuristics can substantially improve search algorithms.
U.S. Pat. No. RE 36,602 presents a tool and method to design parts and their manufacturing process. The tool automatically generates the necessary information using a set of predefined templates. It is intended to automate a specific part of the design process based on templates, which is not possible for complex creative designs, but only for designs amenable to selection of predefined parts.
U.S. Pat. No. 6,063,126 presents a system to model and generate designs. The system automatically generates a model or “program” that satisfies all constraints affecting the system.
Design optimization systems have been developed in the prior art. U.S. Pat. No. 6,086,617 discloses a system where the user can direct the optimization process so it follows specific directions and order during the search. The system automates design optimization which is only possible for simple designs.